package com.xuecheng.api.content;


import com.xuecheng.api.content.model.TeachplanDTO;
import com.xuecheng.api.content.model.vo.TeachplanVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

/**
 * <p>
 *      课程计划服务API
 * </p>
 */
@Api(value = "课程计划信息管理",description = "对课程基本信息业务操作")
public interface TeachplanApi {

    @ApiOperation(value = "根据课程Id查询课程计划树形结构（树形结构为三级目录）")
    @ApiImplicitParam(name = "courseId",value = "课程ID值",required = true,dataType = "Long",paramType ="path",example = "1")
    TeachplanDTO queryTreeNodesByCourseId(Long courseId);

    @ApiOperation(value = "新增和修改课程计划")
    @ApiImplicitParam(name = "teachplanVO",value = "课程计划VO封装类",paramType = "requestbody",dataType = "TeachplanVO",required = true)
    TeachplanDTO createOrModifyTeachPlan(TeachplanVO teachplanVO);


    /**
     * <p>
     * 课程基本信息 Api 接口路径定义
     * </p>
     *
     * @Description: 课程基本信息 Api 接口路径定义
     */
    @ApiOperation(value = "删除课程计划")
    @ApiImplicitParam(name = "teachPlanId",value = "课程计划的ID值",required = true,dataType = "Long",paramType = "path",example = "1")
    void removeTeachPlan(Long teachPlanId);

}
